#pragma once
#include "UIElement.h"
#include "Globals.hpp"
#include "ClippingPlane.h"
#include "Button.h"
#include "SoundEngine.h"
#include "GLPrimitives.h"
#include <string>
#include <vector>
using namespace std;

const int V_DISTANCE_BETWEEN_SONGS = 25;
const int MAX_SONGS = 32;

class GUISound : public UIElement
{
public:

	void Init(string path_of_text, Coords location);
	~GUISound();

	void DrawOpaq();
	void DrawTrans();

	void HandleGraphicalEvents(SDL_Event& event); // handle mouse overs
	void HandleEvents(SDL_Event& event); // handle clicks, etc

	void Update(); // updates the current location of the sound engine menu

	void SetActive(const bool& value) {m_active = value;}
	bool GetActive() {return m_active;}

	void AddSound(string filename, string sound_name);

private:
	bool m_active;
	vector<Button> tracks;
	vector<string> tracks_names;

	Coords m_location; // start location of the GUISound screen
	Dimension m_dimensions; // dimensions of the GUISound screen
	Dimension m_innerBox; // the length / width of the inner box
	Coords m_innerBoxStart; // where the "inner" box starts
	Coords m_buttonsStart; // where button # 0 is rendered
	Dimension m_buttonsDimensions; // the length / width of each button


	
};